package com.af.system.api.result;

/**
 * @author : zhenyun.su
 * @comment : 定义结果值集
 *  代码： code >= 0 成功， code < 0 失败 code = -9 未知本地错误
 *  更多预设结果如下
 *    若失败，则失败错误码来源：
 *    1. Http状态码，由三位数字组成
 *    2. 第三接口错误， 由两种处理方式， 1 统一定为 -7 ，然后再msg中存放第三方错误码和错误信息， 2 直接使用第三错误码
 *    3. 网络异常, NET_RETRY
 *    4. 本系统产生错误码, UN_KNOWN
 *    @See HttpStatus
 * @since : 2020/7/7
 */

public enum AfResultEnum {
    /**
     * @comment : 定义结果值集 (状态, 编码, 信息)
     */
    SUCCESS(true, 0, "success"),
    S_EXIST(true, 2, "record already exists"),
    S_NOT_EXIST(true, 3, "record does not exist"),
    FAILURE(false, -1, "failure"),
    F_EXIST(false, -2, "record already exists"),
    F_NOT_EXIST(false, -3, "record does not exist"),
    NET_RETRY(false, -8, "Network abnormality, please try again later"),
    UN_KNOWN(false, -9, "Internal Client Error");

    private Boolean status;
    private Integer code;
    private String msg;

    AfResultEnum(Boolean status, Integer code, String msg) {
        this.status = status;
        this.code = code;
        this.msg = msg;
    }

    public Boolean getStatus() {
        return status;
    }

    public Integer getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }
}
